﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;

namespace Amazon.Route53.DataContracts
{
    [DataContract(Namespace = Constants.Namespace)]
    public class HostedZone
    {
        /// <summary>
        /// The ID of the hosted zone.
        /// </summary>
        [DataMember(Order = 1)]
        public String Id { get; set; }

        /// <summary>
        /// The name of the domain. This must be a fully-specified domain, 
        /// ending with a period as the last label indication. If you omit the final period, Amazon Route 53 assumes the domain is relative to the root.
        /// This is the name you have registered with your DNS registrar. 
        /// It is also the name you delegate from your registrar to the Amazon Route 53 delegation servers returned in response to this request.
        /// </summary>
        [DataMember(Order = 2)]
        public String Name { get; set; }

        /// <summary>
        /// A unique string that identifies the request to create the hosted zone.
        /// Constraints: Allowable characters are any Unicode code points that are legal in an XML 1.0 document. 
        /// The UTF-8 encoding of the value must be less than 128 bytes.
        /// </summary>
        [DataMember(Order = 3)]
        public String CallerReference { get; set; }

        /// <summary>
        /// includes the Comment element
        /// </summary>
        [DataMember(Order = 4)]
        public HostedZoneConfig Config { get; set; }
    }
}
